package com.google.code.ptrends.common;

import com.google.code.ptrends.entities.SupplierConfiguration;
import com.google.code.ptrends.locators.Locator;
import com.google.code.ptrends.processors.interfaces.ETLProcessor;

/**
 * Provides method(s) of building cocrete {@link ETLProcessor} using
 * {@link SupplierConfiguration}
 * 
 * @author tillias
 * 
 */
public interface ProcessorBuilder {
	/**
	 * Builds concrete {@link ETLProcessor} using given supplier configuration
	 * and source data locator
	 * 
	 * @param cfg
	 * @return Concrete {@link ETLProcessor} or null if can't build
	 */
	ETLProcessor buildProcessor(SupplierConfiguration cfg, Locator locator);
}
